import { toolbarProps } from "../../libs/config";

export const pickerProps = {
  // 是否展示picker弹窗
  show: {
    type: Boolean,
    default:null
  },
  // 是否展示顶部的操作栏
  showToolbar: {
    type: Boolean,
    default:null
  },
  // 对象数组，设置每一列的数据
  columns: {
    type: Array
  },
  // 是否显示加载中状态
  loading: {
    type: Boolean,
    default:null
  },
  // 各列中，单个选项的高度
  itemHeight: {
    type: [String, Number]
  },
  // 每列中可见选项的数量
  visibleItemCount: {
    type: [String, Number]
  },
  // 选项对象中，需要展示的属性键名
  keyName: {
    type: String
  },
  // 是否允许点击遮罩关闭选择器
  closeOnClickOverlay: {
    type: Boolean,
    default:null
  },
  // 各列的默认索引
  defaultIndex: {
    type: Array
  },
  // 是否在手指松开时立即触发 change 事件。若不开启则会在滚动动画结束后触发 change 事件，只在微信2.21.1及以上有效
  immediateChange: {
    type: Boolean,
    default:null
  },
  // 圆角值
  round: {
    type: [String, Number]
  },
  ...toolbarProps,
};
export type pickerChangeValue<T = any> = {
  index: number;
  indexs: number[];
  value: T[];
  values: Array<T[]>;
  columnIndex: number;
};
export type pickerConfirmValue<T = any> = {
  indexs: number[];
  value: T[];
  values: Array<T[]>;
};
export const pickerEmits = {
  close: () => true,
  cancel: () => true,
  change: (e: pickerChangeValue) => true,
  confirm: (e: pickerConfirmValue) => true,
};
